using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("iTweenPath")]
	public class iTweenPath : MonoBehaviour
	{
		public string pathName => method_4("pathName");

		public Color pathColor => method_2<Color>("pathColor");

		public List<Vector3> nodes => method_3<Class270<Vector3>>("nodes")?.method_25();

		public bool initialized => method_2<bool>("initialized");

		public string initialName => method_4("initialName");

		public bool pathVisible => method_2<bool>("pathVisible");

		public iTweenPath(IntPtr address, string className)
			: base(address, className)
		{
		}

		public iTweenPath(IntPtr address)
			: this(address, "iTweenPath")
		{
		}

		public static List<Vector3> GetPath(string requestedName)
		{
			return MonoClass.smethod_15<Class250<Vector3>>(TritonHs.MainAssemblyPath, "", "iTweenPath", "GetPath", new object[1] { requestedName })?.method_25();
		}

		public static List<Vector3> GetPathReversed(string requestedName)
		{
			return MonoClass.smethod_15<Class250<Vector3>>(TritonHs.MainAssemblyPath, "", "iTweenPath", "GetPathReversed", new object[1] { requestedName })?.method_25();
		}

		public static string FixupPathName(string name)
		{
			return MonoClass.smethod_12(TritonHs.MainAssemblyPath, "", "iTweenPath", "FixupPathName", name);
		}

		public void OnEnable()
		{
			method_8("OnEnable");
		}

		public void OnDisable()
		{
			method_8("OnDisable");
		}

		public void OnDrawGizmosSelected()
		{
			method_8("OnDrawGizmosSelected");
		}
	}
}
